package org.playground.booking.service;

import org.playground.booking.dto.BookingDto;
import org.playground.booking.utils.PlaygroundBookingException;
import org.playground.booking.utils.UnknownResourceException;

import java.util.Date;
import java.util.List;

public interface IBookingService {

    Long createBooking(BookingDto booking) throws PlaygroundBookingException;

    void updateBooking(BookingDto bookingDto) throws PlaygroundBookingException;

    List<BookingDto> getBookingList(Long userId, int pageNb, int pageSize, boolean includeExpired);

    BookingDto getBooking(Long userId,Long id) throws UnknownResourceException;

    List<BookingDto> getBookingList(Long merchantId, Long sportId, Long courtId, Date startDate, Date endDate, Integer limit, Integer pageNumber)throws IllegalArgumentException;
}
